using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering.HighDefinition;

public class yuzhiti : MonoBehaviour
{
    public GameObject[] enemyPrefabs;  // 存储多个敌人预制体的数组
    public GameObject targetCube;      // 用于确定生成位置的目标 cube
    public float spawnRadius = 5.0f;   // 生成位置的随机半径

    private void Start()
    {
        GenerateRandomEnemy();
    }

    private void Update()
    {
        // 如果需要的话，在这里添加逻辑
    }

    public void GenerateRandomEnemy()
    {
        if (targetCube != null && enemyPrefabs != null && enemyPrefabs.Length > 0)
        {
            // 获取目标 cube 的位置
            Vector3 cubePosition = targetCube.transform.position;

            // 随机计算偏移量
            Vector2 randomOffset = Random.insideUnitCircle * spawnRadius;

            // 将偏移量应用到目标 cube 的位置上
            cubePosition += new Vector3(randomOffset.x, 0.0f, randomOffset.y);

            // 随机选择一个敌人预制体
            GameObject selectedPrefab = enemyPrefabs[Random.Range(0, enemyPrefabs.Length)];

            // 使用 Instantiate 函数生成敌人
            GameObject enemy = Instantiate(selectedPrefab, cubePosition, Quaternion.identity);
            Rigidbody enemyRigidbody = enemy.AddComponent<Rigidbody>();
            enemyRigidbody.freezeRotation = true;

            // 打印生成的敌人的位置信息，确保位置正确
            Debug.Log("敌人生成位置： " + cubePosition);
        }
        else
        {
            Debug.LogError("请在检视器中分配目标 cube 和 enemyPrefabs 数组。");
        }
    }
}
